% fname: routing_oddeven__sel_nop__topology_8x8__.m
% ./noxim -routing oddeven -sel nop -dimx 8 -dimy 8  -sim 10000 -warmup 2000 -size 8 8 -buffer 4 

function [max_pir, max_throughput, min_delay] = routing_oddeven__sel_nop__topology_8x8__(symbol)

data = [
%             pir      avg_delay     throughput      max_delay       rpackets         rflits
             0.01        22.3977      0.0809746            152           5182          41459
             0.01        21.7834      0.0804844            116           5156          41208
             0.01        21.8256       0.078752            106           5039          40321
             0.01        22.9283      0.0798008            147           5106          40858
             0.01        22.1058      0.0790625            162           5064          40480
             0.01         22.964      0.0808008            200           5170          41370
             0.01        22.5826      0.0810215            153           5187          41483
             0.01        22.6872      0.0807754            126           5172          41357
             0.01        22.9257      0.0819648            191           5249          41966
             0.01        22.0206      0.0802695            114           5137          41098
             0.01        21.8634       0.080043            157           5123          40982
             0.01         21.513      0.0795723             89           5094          40741
             0.01        22.8237      0.0812305            145           5200          41590
             0.01        21.7865      0.0792949             94           5072          40599
             0.01        21.6147      0.0807441            106           5170          41341
             0.01        21.7244      0.0787793            119           5039          40335
             0.01        21.5082      0.0784668            151           5018          40175
             0.01        21.7318      0.0789727            114           5055          40434
             0.01        21.7604      0.0782734            120           5012          40076
             0.01        21.7464      0.0801875            133           5130          41056
           0.0105           22.8      0.0836035            162           5350          42805
           0.0105        22.9347      0.0855039            107           5470          43778
           0.0105         23.186      0.0861172            113           5510          44092
           0.0105        22.6696      0.0829551            125           5311          42473
           0.0105        22.0909      0.0842344            124           5391          43128
           0.0105         22.571      0.0834629            111           5343          42733
           0.0105        22.5755      0.0836816             93           5354          42845
           0.0105        22.7549      0.0832207            113           5325          42609
           0.0105        23.1578      0.0848008            128           5424          43418
           0.0105        22.5092      0.0835898            117           5352          42798
           0.0105        22.3673      0.0829434            124           5307          42467
           0.0105        23.6829      0.0841875            319           5386          43104
           0.0105        23.3659      0.0860059            170           5502          44035
           0.0105        22.1466      0.0821738            130           5258          42073
           0.0105        23.1569      0.0839043            122           5373          42959
           0.0105        22.9546      0.0839785            112           5375          42997
           0.0105         22.926      0.0844844            155           5407          43256
           0.0105        22.3551      0.0834883            168           5345          42746
           0.0105         22.817      0.0853125            134           5459          43680
           0.0105        22.9528      0.0843535            119           5401          43189
            0.011        23.9048      0.0865566            147           5538          44317
            0.011        23.6703      0.0872656            127           5587          44680
            0.011        23.8002      0.0885176            153           5666          45321
            0.011        23.1217      0.0875215            139           5603          44811
            0.011        23.7687      0.0865996            123           5542          44339
            0.011        23.7128      0.0870684            115           5572          44579
            0.011        25.4307      0.0897324            135           5742          45943
            0.011        23.4817      0.0872969            115           5588          44696
            0.011          24.46      0.0883633            165           5654          45242
            0.011        23.8979      0.0877051            207           5612          44905
            0.011        23.6528      0.0889063            125           5689          45520
            0.011        24.9002      0.0884336            136           5659          45278
            0.011        24.6074       0.086625            158           5548          44352
            0.011        24.5278      0.0900176            123           5758          46089
            0.011        23.1147       0.087957            139           5633          45034
            0.011        23.7752      0.0878301            130           5624          44969
            0.011        24.4059      0.0866055            161           5543          44342
            0.011        24.1088      0.0875293            165           5605          44815
            0.011        24.5949      0.0884707            158           5660          45297
            0.011        23.3946       0.087002            126           5567          44545
           0.0115        25.2531      0.0916875            145           5867          46944
           0.0115        27.1924      0.0941387            260           6025          48199
           0.0115        24.2644      0.0909395            129           5820          46561
           0.0115        26.1648      0.0951973            149           6091          48741
           0.0115        24.5788      0.0912461            145           5841          46718
           0.0115        25.0117      0.0917539            162           5877          46978
           0.0115        24.0575       0.089875            150           5742          46016
           0.0115        26.1654      0.0912637            195           5842          46727
           0.0115         25.499      0.0931855            156           5966          47711
           0.0115        25.6842      0.0910098            139           5826          46597
           0.0115        25.8231      0.0943672            135           6039          48316
           0.0115        25.2497      0.0902031            202           5776          46184
           0.0115         25.816      0.0925449            159           5924          47383
           0.0115        25.2772      0.0925684            143           5924          47395
           0.0115        25.4914      0.0939922            163           6012          48124
           0.0115        26.2092      0.0926152            227           5926          47419
           0.0115        24.6535      0.0906504            149           5803          46413
           0.0115        25.1924      0.0934512            157           5978          47847
           0.0115        24.1142      0.0901758            146           5772          46170
           0.0115          24.93      0.0923672            167           5912          47292
            0.012        25.5641      0.0956406            154           6116          48968
            0.012        27.1305      0.0972402            216           6223          49787
            0.012        25.9137      0.0963672            148           6165          49340
            0.012        25.8968      0.0946816            130           6063          48477
            0.012        27.1214      0.0963379            199           6162          49325
            0.012         27.199      0.0950938            183           6085          48688
            0.012        25.9958      0.0939023            243           6007          48078
            0.012        25.7784      0.0956133            200           6118          48954
            0.012        26.2372      0.0969023            177           6202          49614
            0.012        26.9764      0.0954531            210           6112          48872
            0.012        27.1547      0.0965977            178           6180          49458
            0.012        25.9102      0.0951699            149           6093          48727
            0.012        26.2734      0.0970176            144           6207          49673
            0.012        26.4387      0.0965352            195           6180          49426
            0.012        27.2606      0.0969961            171           6213          49662
            0.012        26.4749      0.0973672            163           6233          49852
            0.012        24.9883      0.0935898            116           5990          47918
            0.012        25.4409      0.0958691            143           6130          49085
            0.012        25.3934      0.0938594            244           6006          48056
            0.012        25.5443      0.0934551            166           5982          47849
           0.0125        27.0802      0.0991406            207           6349          50760
           0.0125        28.8183       0.101762            209           6510          52102
           0.0125        27.3411      0.0996973            185           6377          51045
           0.0125        27.6731       0.101311            190           6485          51871
           0.0125        27.9222       0.101809            310           6515          52126
           0.0125        28.1911      0.0996641            154           6378          51028
           0.0125        27.0775      0.0978008            159           6259          50074
           0.0125        28.6245       0.101076            157           6466          51751
           0.0125        30.3082       0.100965            188           6464          51694
           0.0125        27.3039       0.100025            207           6400          51213
           0.0125        27.5546      0.0986035            200           6314          50485
           0.0125        28.5876       0.101646            176           6506          52043
           0.0125        27.5615       0.101303            165           6479          51867
           0.0125         27.777      0.0989746            176           6333          50675
           0.0125        28.6732       0.101912            244           6523          52179
           0.0125        28.8963       0.100523            200           6435          51468
           0.0125        27.4257       0.100711            168           6441          51564
           0.0125        26.3712      0.0981738            145           6285          50265
           0.0125        29.5032       0.100238            239           6415          51322
           0.0125        28.7266       0.100443            235           6429          51427
            0.013        29.1745       0.104551            227           6688          53530
            0.013         34.501       0.104322            366           6677          53413
            0.013        29.1856       0.103334            169           6612          52907
            0.013        29.3298       0.103256            195           6607          52867
            0.013        30.4062       0.103213            265           6607          52845
            0.013        28.8244       0.102936            229           6587          52703
            0.013         29.854       0.104055            226           6658          53276
            0.013        28.5014       0.102674            210           6572          52569
            0.013        30.6352       0.102602            233           6566          52532
            0.013        27.5791       0.103145            178           6603          52810
            0.013        31.9486       0.104254            255           6675          53378
            0.013         29.533       0.102861            180           6584          52665
            0.013        28.4387       0.102359            237           6551          52408
            0.013        32.7831       0.104543            258           6691          53526
            0.013        29.9211       0.103814            286           6644          53153
            0.013        32.5587       0.104494            308           6687          53501
            0.013        30.2041       0.105223            179           6736          53874
            0.013        28.2351       0.101602            159           6503          52020
            0.013        28.6164        0.10307            195           6593          52772
            0.013        30.9981       0.105613            260           6757          54074
           0.0135        30.5879       0.107842            184           6901          55215
           0.0135        30.9719       0.107416            175           6874          54997
           0.0135        31.3717       0.108168            211           6923          55382
           0.0135        31.2686       0.108371            207           6937          55486
           0.0135        30.1473        0.10648            243           6817          54518
           0.0135        34.5477        0.10943            267           7002          56028
           0.0135        30.4463       0.106453            275           6812          54504
           0.0135        30.4559       0.108604            174           6953          55605
           0.0135        31.4915       0.108137            265           6922          55366
           0.0135        30.8346       0.107119            260           6855          54845
           0.0135        32.7098       0.105676            304           6762          54106
           0.0135        30.6754       0.105809            180           6771          54174
           0.0135        31.6803       0.109311            261           6987          55967
           0.0135        30.6857       0.106078            189           6789          54312
           0.0135        33.4598       0.105832            282           6774          54186
           0.0135        31.6586       0.106434            282           6808          54494
           0.0135        31.9496        0.10917            232           6984          55895
           0.0135         31.956       0.108734            259           6959          55672
           0.0135        34.1494       0.108473            278           6941          55538
           0.0135        33.2259       0.105531            311           6754          54032
            0.014          34.55       0.112125            228           7175          57408
            0.014        33.2719       0.112078            202           7173          57384
            0.014        33.4138       0.111074            247           7109          56870
            0.014        31.8792       0.109346            262           7002          55985
            0.014         35.824       0.111199            348           7118          56934
            0.014        38.3181       0.110115            459           7049          56379
            0.014        34.8895       0.112168            325           7178          57430
            0.014        39.6765       0.110912            457           7100          56787
            0.014        37.0176       0.112924            268           7230          57817
            0.014        36.0273         0.1135            229           7262          58112
            0.014        35.7586       0.111473            334           7132          57074
            0.014        39.8791       0.115068            388           7360          58915
            0.014        36.8863       0.112578            306           7204          57640
            0.014        37.4134       0.114617            237           7336          58684
            0.014        31.2339       0.109107            203           6983          55863
            0.014        35.0896       0.111062            365           7110          56864
            0.014        36.8006       0.112658            297           7211          57681
            0.014        37.8475       0.112215            395           7181          57454
            0.014        42.0842        0.11434            618           7316          58542
            0.014        35.1168       0.112031            395           7167          57360
           0.0145        35.7119       0.114088            266           7302          58413
           0.0145        36.9933       0.115908            327           7420          59345
           0.0145        70.8377       0.116363            899           7449          59578
           0.0145        192.101       0.115014           2519           7361          58887
           0.0145        37.1052       0.115939            275           7422          59361
           0.0145        55.4164       0.116863            762           7473          59834
           0.0145        39.1249       0.113246            437           7252          57982
           0.0145        42.9874       0.116428            474           7453          59611
           0.0145         37.258       0.114418            319           7321          58582
           0.0145        36.1196       0.115152            331           7369          58958
           0.0145         43.697        0.11468            527           7337          58716
           0.0145        43.4479       0.116441            529           7453          59618
           0.0145        54.9597       0.114311            835           7318          58527
           0.0145        44.3071       0.117223            446           7500          60018
           0.0145        53.1404       0.115734            863           7414          59256
           0.0145        302.485       0.105713           3084           6767          54125
           0.0145        42.9927       0.115598            364           7400          59186
           0.0145        42.4026       0.116654            317           7466          59727
           0.0145        57.3237       0.116389            803           7449          59591
           0.0145        40.4366       0.116352            372           7446          59572
            0.015        50.9537        0.11848            680           7581          60662
            0.015        364.948       0.119967           3093           7680          61423
            0.015        46.7808        0.11951            562           7651          61189
            0.015         49.585       0.116857            677           7478          59831
            0.015        63.9788       0.119846            816           7672          61361
            0.015        112.024       0.121887           1275           7802          62406
            0.015        493.778       0.106852           4810           6837          54708
            0.015        52.7874       0.119326            839           7634          61095
            0.015        46.6585       0.119055            643           7619          60956
            0.015        61.4887         0.1194            949           7638          61133
            0.015        93.2006       0.116219           1782           7436          59504
            0.015        45.0446       0.118854            326           7607          60853
            0.015        76.6199       0.116834           1367           7476          59819
            0.015        70.7129       0.119922           1393           7677          61400
            0.015        395.774       0.108924           4555           6976          55769
            0.015        114.235       0.117127           1526           7496          59969
            0.015         94.526       0.120498           1447           7716          61695
            0.015        161.624       0.118676           1796           7597          60762
            0.015        45.7975       0.121131            489           7754          62019
            0.015        223.977        0.11818           3073           7561          60508
           0.0155        67.0889       0.122842            685           7864          62895
           0.0155        135.648       0.123924           1856           7929          63449
           0.0155        420.936       0.107199           5047           6856          54886
           0.0155        245.607       0.119779           2987           7665          61327
           0.0155        179.491       0.113102           2931           7237          57908
           0.0155        55.0532       0.119111            610           7614          60985
           0.0155        292.169       0.107957           4433           6907          55274
           0.0155        306.908       0.113334           4402           7253          58027
           0.0155        349.908       0.117537           3797           7525          60179
           0.0155        311.242       0.110363           4556           7061          56506
           0.0155         148.76       0.116695           2441           7466          59748
           0.0155        468.934       0.109531           5753           7010          56080
           0.0155         141.74       0.114506           3150           7329          58627
           0.0155        80.5945        0.12185           1392           7797          62387
           0.0155        94.4188       0.122764           1367           7858          62855
           0.0155        209.635       0.116943           2525           7486          59875
           0.0155         129.36        0.12075           2483           7726          61824
           0.0155        196.744       0.120352           2200           7701          61620
           0.0155        245.467       0.119311           2324           7638          61087
           0.0155        64.0248       0.122432           1005           7832          62685
            0.016        308.415       0.109152           5157           6983          55886
            0.016        578.277       0.114004           7120           7298          58370
            0.016        644.344       0.110283           6828           7054          56465
            0.016        300.009        0.11393           3989           7289          58332
            0.016        662.479       0.103004           7220           6587          52738
            0.016         438.89       0.109316           6180           6997          55970
            0.016        719.614       0.111236           6946           7120          56953
            0.016        312.525       0.105322           4714           6739          53925
            0.016        645.953      0.0992305           7950           6350          50806
            0.016        474.453       0.108635           5809           6954          55621
            0.016        542.115       0.109461           6365           7004          56044
            0.016        807.766       0.101834           7231           6523          52139
            0.016        418.472        0.10318           6368           6604          52828
            0.016        337.198       0.112412           3801           7194          57555
            0.016        440.625       0.109488           5286           7009          56058
            0.016        416.042        0.11375           5016           7280          58240
            0.016        391.957       0.109504           5422           7007          56066
            0.016         483.43       0.107236           6165           6864          54905
            0.016        600.573       0.109508           6371           7011          56068
            0.016        778.905       0.103191           7352           6604          52834
           0.0165        747.326      0.0911641           7959           5832          46676
           0.0165        565.724        0.10408           6077           6664          53289
           0.0165        451.518       0.105373           6067           6741          53951
           0.0165        646.029      0.0973066           7296           6229          49821
           0.0165        522.085       0.108857           6819           6965          55735
           0.0165        511.645       0.104639           6005           6695          53575
           0.0165        421.161       0.106783           6182           6832          54673
           0.0165        727.819       0.102834           6932           6580          52651
           0.0165         693.91      0.0939629           7555           6016          48109
           0.0165        357.174       0.109867           4970           7031          56252
           0.0165        493.228        0.10342           7237           6618          52951
           0.0165        547.199       0.100791           6526           6449          51605
           0.0165         588.16        0.10915           6903           6982          55885
           0.0165        558.533       0.103965           7110           6652          53230
           0.0165        586.819       0.104387           6774           6679          53446
           0.0165        739.598       0.101543           7715           6502          51990
           0.0165        550.622       0.110375           6344           7062          56512
           0.0165        781.961       0.102227           8112           6543          52340
           0.0165        750.659       0.101264           7634           6479          51847
           0.0165        574.747       0.104631           6429           6698          53571
            0.017        781.086      0.0928008           7938           5941          47514
            0.017        875.732      0.0981582           7823           6278          50257
            0.017        761.058      0.0965605           8347           6178          49439
            0.017          757.3       0.099418           7196           6360          50902
            0.017        578.901        0.10541           7885           6744          53970
            0.017        409.962       0.105496           7389           6754          54014
            0.017        495.975       0.106551           7577           6820          54554
            0.017        760.556      0.0942812           7341           6036          48272
            0.017        883.164      0.0918203           8477           5877          47012
            0.017        741.176       0.102643           7314           6568          52553
            0.017        720.029      0.0969336           8239           6201          49630
            0.017        779.091       0.104471           7725           6681          53489
            0.017        723.323       0.108307           7229           6929          55453
            0.017        700.182      0.0967422           7588           6194          49532
            0.017        861.906      0.0990781           7852           6338          50728
            0.017        834.677      0.0979473           7360           6269          50149
            0.017        531.318       0.100809           6163           6450          51614
            0.017        513.578       0.102963           6120           6589          52717
            0.017        550.743       0.106244           6245           6797          54397
            0.017        709.583       0.102639           7187           6567          52551
           0.0175        839.046      0.0977402           7966           6257          50043
           0.0175        1001.27       0.091373           7844           5849          46783
           0.0175        677.164      0.0990391           7333           6336          50708
           0.0175        1072.28      0.0925449           8767           5926          47383
           0.0175        901.638      0.0902012           8232           5771          46183
           0.0175        990.945      0.0945586           8184           6050          48414
           0.0175        691.781      0.0987559           7689           6319          50563
           0.0175        1137.79      0.0889199           8574           5690          45527
           0.0175        793.006      0.0983125           8149           6289          50336
           0.0175        923.814      0.0937227           8607           5996          47986
           0.0175        970.119      0.0948711           7944           6071          48574
           0.0175         1033.3       0.092459           8345           5917          47339
           0.0175        705.313       0.099793           7550           6386          51094
           0.0175        1005.77      0.0894727           8383           5732          45810
           0.0175        975.367      0.0918457           8096           5880          47025
           0.0175        940.415      0.0956875           8013           6125          48992
           0.0175        1085.23       0.091582           8278           5862          46890
           0.0175        750.394      0.0985879           7752           6312          50477
           0.0175        615.388       0.102918           7265           6585          52694
           0.0175        684.808      0.0959004           8369           6138          49101
];

rows = size(data, 1);
cols = size(data, 2);

data_delay = [];
for i = 1:rows/20,
   ifirst = (i - 1) * 20 + 1;
   ilast  = ifirst + 20 - 1;
   tmp = data(ifirst:ilast, cols-5+1);
   avg = mean(tmp);
   [h sig ci] = ttest(tmp, 0.1);
   ci = (ci(2)-ci(1))/2;
   data_delay = [data_delay; data(ifirst, 1:cols-5), avg ci];
end

figure(1);
hold on;
plot(data_delay(:,1), data_delay(:,2), symbol);

data_throughput = [];
for i = 1:rows/20,
   ifirst = (i - 1) * 20 + 1;
   ilast  = ifirst + 20 - 1;
   tmp = data(ifirst:ilast, cols-5+2);
   avg = mean(tmp);
   [h sig ci] = ttest(tmp, 0.1);
   ci = (ci(2)-ci(1))/2;
   data_throughput = [data_throughput; data(ifirst, 1:cols-5), avg ci];
end

figure(2);
hold on;
plot(data_throughput(:,1), data_throughput(:,2), symbol);

data_maxdelay = [];
for i = 1:rows/20,
   ifirst = (i - 1) * 20 + 1;
   ilast  = ifirst + 20 - 1;
   tmp = data(ifirst:ilast, cols-5+3);
   avg = mean(tmp);
   [h sig ci] = ttest(tmp, 0.1);
   ci = (ci(2)-ci(1))/2;
   data_maxdelay = [data_maxdelay; data(ifirst, 1:cols-5), avg ci];
end

figure(3);
hold on;
plot(data_maxdelay(:,1), data_maxdelay(:,2), symbol);


%-------- Saturation Analysis -----------
slope=[];
for i=2:size(data_throughput,1),
    slope(i-1) = (data_throughput(i,2)-data_throughput(i-1,2))/(data_throughput(i,1)-data_throughput(i-1,1));
end

for i=2:size(slope,2),
    if slope(i) < (0.95*mean(slope(1:i)))
        max_pir = data_throughput(i, 1);
        max_throughput = data_throughput(i, 2);
        min_delay = data_delay(i, 2);
        break;
    end
end
